package org.csu.mypetstoret.persistence;

import org.apache.ibatis.annotations.Param;
import org.csu.mypetstoret.domain.Item;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository("ItemMapper")
public interface ItemMapper {
    List<Item> getItemListByProduct(String productId);
    int getInventoryQuantity(String itemId);
    Item getItemById(String itemId);
    //map 作为参数时   因使用@param
    void updateInventoryQuantity(@Param("param") Map<String,Object> param);


    String getProudctIdByItemid(String itemId);

    //插入item
    void insertItem(Item item);
    //删除item  by itemid  inventory也要删除
    void deleteItemByItemId(@Param("itemId") String itemId);

    //这个是对应deleteItemListByItemIds方法  想通过List<Item>来获得list<String>Itemids  目前没用到
    List<String>getItemIdsByItemList(List<Item>itemList);

    //在删除product时  顺便会吧所有item对应的productId 删除
    void deleteItemListByItem(List<Item> item);



}
